﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using CapaLogica.CL.Usuario;


namespace CapaLogica.CL.Carrera
{
    public class Cl_Carrera
    {

        internal Cl_Carrera()
        {
        }


        internal Cl_Carrera(String pcodigo, String pnombre)
        {

            Codigo = pcodigo;
            Nombre = pnombre;

        }

        internal  Cl_Carrera(String pcodigo, String pnombre, String pdescripcion)
        {

            Codigo = pcodigo;
            Nombre = pnombre;
            Descripcion = pdescripcion;
        
        }

        internal Cl_Carrera(int pid, String pcodigo, String pnombre, String pdescripcion)
        {
            Id = pid;
            Codigo = pcodigo;
            Nombre = pnombre;
            Descripcion = pdescripcion;

        }

        private int _id;

        public int Id
        {
            get { return _id; }
            set { _id = value; }
        }
        

        private String _codigo;

        public String Codigo
        {
            get { return _codigo; }
            set { _codigo = value; }
        }

        private String _nombre;

        public String Nombre
        {
            get { return _nombre; }
            set { _nombre = value; }
        }

        
        private String _descripcion;

        public String Descripcion
        {
            get { return _descripcion; }
            set { _descripcion = value; }
        }


        
        private List<Cl_Curso> _cursos;

        public List<Cl_Curso> Cursos
        {
            get {
                try
                {
                    if (_cursos == null)
                    {
                        _cursos = new CursoPersistente().buscarCursosDeCarrera(this.Codigo);
                    }
                    return _cursos;
                }
                catch (Exception)
                {

                    throw;
                }
            }
            set { _cursos = value; }
        }



        private Cl_DirectorAcademico _dirAcademico;

        public Cl_DirectorAcademico DirAcademico
        {
            get { return _dirAcademico; }
            set { _dirAcademico = value; }
        }
        
        

    }


}
